From 31f9bdd7999b2ea7ec8ac9c23d6953a19a174895 Mon Sep 17 00:00:00 2001 From: "cl349@firebug.cl.cam.ac.uk" Date: Fri, 9 Sep 2005 16:08:17 +0000 Subject: [PATCH] Setup network devices in xenstore using xstransact. Signed-off-by: Christian Limpach --- tools/python/xen/xend/XendDomainInfo.py | 45 ++++++++++++------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 8c171d8e4b..d82490cce9 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -47,6 +47,7 @@ from xen.xend.XendRoot import get_component from xen.xend.uuid import getUuid from xen.xend.xenstore import DBVar, XenNode, DBMap +from xen.xend.xenstore.xstransact import xstransact """Shutdown code for poweroff.""" DOMAIN_POWEROFF = 0 @@ -452,30 +453,28 @@ class XendDomainInfo: mac = sxp.child_value(devconfig, 'mac') ipaddr = _get_config_ipaddr(devconfig) - # create backend db - backdb = backdom.db.addChild("/backend/%s/%s/%d" % - (type, self.uuid, devnum)) - - # create frontend db - db = self.db.addChild("/device/%s/%d" % (type, devnum)) - - backdb['script'] = script - backdb['domain'] = self.name - backdb['mac'] = mac - backdb['bridge'] = bridge + backpath = "%s/backend/%s/%s/%d" % (backdom.path, type, + self.uuid, devnum) + frontpath = "%s/device/%s/%d" % (self.path, type, devnum) + + frontt = xstransact(frontpath) + frontt.write('backend', backpath) + frontt.write('backend-id', "%i" % backdom.id) + frontt.write('handle', "%i" % devnum) + frontt.write('mac', mac) + frontt.commit() + + backt = xstransact(backpath) + backt.write('script', script) + backt.write('domain', self.name) + backt.write('mac', mac) + backt.write('bridge', bridge) if ipaddr: - backdb['ip'] = ' '.join(ipaddr) - backdb['frontend'] = db.getPath() - backdb['frontend-id'] = "%i" % self.id - backdb['handle'] = "%i" % devnum - backdb.saveDB(save=True) - - db['backend'] = backdb.getPath() - db['backend-id'] = "%i" % backdom.id - db['handle'] = "%i" % devnum - db['mac'] = mac - - db.saveDB(save=True) + backt.write('ip', ' '.join(ipaddr)) + backt.write('frontend', frontpath) + backt.write('frontend-id', "%i" % self.id) + backt.write('handle', "%i" % devnum) + backt.commit() return -- 2.30.2